-
Notifications
You must be signed in to change notification settings - Fork 0
34 gå over koder og litt dokumentasjon #41
Merged
Merged
+11,250
−4,283
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…profilen - Profile.tsx bruker felles graphql() i stedet for egen fetch, så kall alltid får timeout - Ny formatKm i format.ts erstatter inline km-formatering - Ny checkSession i graphql.ts erstatter tre kopier av sesjonssjekken - Home bruker lengthText fra routeTypes, og TOKEN_KEY brukes i stedet for hardkodet nøkkel
- index.ts er delt i graphql/ (routes, auth, profile, builder), lib/, services/ og db/ - authed() erstatter requireUser(token) som var gjentatt i 15 resolvere - setPassword() brukes både ved tilbakestilling og bytte av passord
- Sidene ligger i pages/, større deler i features/, delte komponenter i components/ - Hjelpefiler uten visning (graphql, format, gpx m.fl.) ligger i lib/ - Prosjektplanen er flyttet til docs/, og README beskriver mappestrukturen
- withTransaction() erstatter BEGIN/COMMIT/ROLLBACK som var skrevet ut i 7 steder - server/lib/validation.ts samler kontroller av rute-id, passord og kartutsnitt - findRouteById() erstatter to like oppslag, og overflødig e-postvalidering er fjernet - Fjernet DATA_SCHEMA som ble lest, men aldri brukt
- Profile er delt i AuthGate, OverviewTab, SettingsTab, TripsTab og profileApi - Fjellomrade er delt i Overview, AreaView, AreaMap, data og mapData - RouteBuilder er delt i useBuilderMap, SourceSearch, RoundTripSuggester, PointsEditor, MyRoutes og builderApi - useDebouncedValue og useAuthenticated erstatter kopier av debounce og sesjonssjekk - Forsiden og Utforsk deler rutetyper og søkespørringer i lib/routeTypes og lib/routeSearch
- Ny SkipLink-komponent brukes på forsiden, Utforsk, innloggingen og fjellområdene - Fjellområdesiden har fått <main>, som den manglet - Innloggingssiden har fått id="main" så hopp-lenken har et mål
- README, arkitektur og server/README beskriver de nye mappene og filene - AGENTS.md sier at filer skal deles der det er naturlig, ikke etter linjeantall
- vite.config.ts bygger under /project2/, og preview sender /project2/graphql til backend - graphql() kaller BASE_URL + graphql, så kallene treffer Apache-proxyen på VM-en - deploy/ har eksempler på Apache-konfigurasjon og systemd-tjeneste for backend - docs/oppsett-vm.md beskriver oppsettet steg for steg, og README lenker til det
- engines i package.json og .nvmrc med Node 24, så feil versjon gir en tydelig feil
This was
linked to
issues
Oct 16, 2026
Closed
martbirk
approved these changes
Oct 16, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Kjørt lokalt: npm run lint, npm run format:check og npm run build er grønne.
Testet manuelt: passordbytte, og at forsiden, Utforsk, Fjellområder og profilen laster og fungerer. Både localhost og den publiserte løsningen.
Sjekket spesielt:
- at sortering, filtre og bbox i routes er med etter oppdelingen av backend
- at withTransaction() håndterer COMMIT, ROLLBACK og frigjøring av tilkoblingen riktig
- at Prettier-commiten bare formaterer: koden før og etter er lik når formateringen trekkes fra
- at PORT=3001 er dokumentert i .env.example og docs/oppsett-vm.md, siden Apache-oppsettet er avhengig av det
Innspill (ikke blokkerende):
- docs/bruk-av-ki.md: tabellen mangler commitene etter d6013dd (143c422, b4b3590, 382d9dd, c23477b, 5963d2a, 8ba6c2b, 33da77f, c874c66).
- src/lib/graphql.ts: kommentaren til checkSession nevner Fjellomrade.tsx og Profile.tsx, men den brukes nå i App.tsx, AuthGate.tsx og useAuthenticated.ts.
- Beskrivelsen sier at alle sider er testet med Playwright, men vi har ikke lagt inn Playwright-tester i repoet. Kan testene lagres, for eksempel i e2e/?
Godkjent ✅
Sign in
to join this conversation on GitHub.
Labels
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hva dette gjør
Gjør appen klar for andre underveisinnlevering: backend og database kjører på gruppas VM, og klienten snakker med backend gjennom Apache. Samtidig er koden ryddet og delt i mer oversiktlige filer.
Publisert versjon: http://it2810-34.idi.ntnu.no/project2/
Status mot kravene
/project2/graphqltil backend. Testet på VM-endocs/oppsett-vm.mdogdeploy/Endringer
Commitene er delt etter tema, så les gjerne commit for commit i denne rekkefølgen:
feat: gjør appen klar for publisering på VM-en):base/project2/i bygget,graphql()brukerBASE_URL, ogdeploy/med Apache- og systemd-eksempler.refactor: samle transaksjoner og validering i backend):withTransaction()ogserver/lib/validation.tserstatter kopiert kode.refactor: del opp Profile, Fjellomrade og RouteBuilder i naturlige filer): oppdeling ipages/,features/,components/oglib/, meduseDebouncedValueog felles søketyper.fix: legg til hopp-lenke og main-landemerke på alle sider).style:-commit som bare formaterer).AGENTS.mdmed retningslinjer for KI-verktøy.Prettier-commiten (
style:) berører nesten alle filer og er bare formatering. Hopp over den når du leser.Slik tester du
Kontrollert lokalt:
npm run lint,npx tsc -b,npm run buildognpm run format:checkgår gjennom. Alle sider er testet med Playwright, også under/project2/.Kjente begrensninger
RouteBuilder(rutebygger) er ikke koblet inn i appen ennå.rsync, ikke kode hentet fra git. Det rettes etter merge.Til den som godkjenner
Dette er en stor PR, siden den både flytter filer og formaterer koden. Det viktigste å se på er
vite.config.ts,src/lib/graphql.ts,deploy/,docs/oppsett-vm.mdogserver/lib/validation.ts. Resten er flytting og opprydding uten endret oppførsel.